Lag Features এবং Rolling Windows

Machine Learning - সাইকিট-লার্ন (Scikit-Learn) - Time Series Analysis এবং Forecasting
202

Lag Features এবং Rolling Windows হলো টেম্পোরাল ডেটা বা টাইম সিরিজ ডেটা বিশ্লেষণে ব্যবহৃত দুটি গুরুত্বপূর্ণ কৌশল। এগুলি ডেটার প্যাটার্ন বা সম্পর্ক শনাক্ত করতে এবং ভবিষ্যৎ পূর্বাভাস (forecasting) উন্নত করতে সহায়ক।


1. Lag Features (ল্যাগ ফিচার)

Lag Features হলো পূর্ববর্তী সময়ের ডেটা (lagged data) ব্যবহার করে নতুন বৈশিষ্ট্য তৈরি করা। এটি মূলত টাইম সিরিজ ডেটা-তে ব্যবহৃত হয়, যেখানে পূর্বের সময়ের (lagged) মানগুলি বর্তমান সময়ের পূর্বাভাসের জন্য ব্যবহৃত হয়। একে সাধারণত "shifted features" বা "lagged values" বলা হয়।

ফিচার তৈরির পদ্ধতি:

  • যদি আপনার কাছে টাইম সিরিজ ডেটা থাকে, যেমন, Stock Prices, Weather Data বা Sales Data, তবে আপনি একটি সময়ের পূর্বের মান (lag) ব্যবহার করতে পারেন ভবিষ্যতের মান (future value) ভবিষ্যদ্বাণী করতে।

উদাহরণ:

ধরা যাক, আপনার কাছে একটি স্টক প্রাইসের ডেটা আছে:

Date          Price
2023-01-01    100
2023-01-02    102
2023-01-03    101
2023-01-04    105

এখানে আপনি lag feature তৈরি করতে পারেন, যেমন:

  • Lag 1: 2023-01-02 তে স্টক প্রাইস = 102 (এটি 2023-01-01 এর প্রাইস হবে),
  • Lag 2: 2023-01-03 তে স্টক প্রাইস = 101 (এটি 2023-01-01 এবং 2023-01-02 এর প্রাইস হবে)।

Lag Feature তৈরি করার মাধ্যমে, আপনি ভবিষ্যত প্রাইসের পূর্বাভাস করার জন্য পূর্বের দিনের প্রাইস ব্যবহার করতে পারবেন।

ব্যবহার:

  • Stock Price Prediction: পূর্বের দিনের স্টক প্রাইস ব্যবহার করে বর্তমান বা ভবিষ্যতের প্রাইস পূর্বাভাস করা।
  • Sales Forecasting: পূর্ববর্তী মাসের বা সপ্তাহের বিক্রয় সংখ্যা ব্যবহার করে পরবর্তী মাসের বা সপ্তাহের বিক্রয় পূর্বাভাস করা।

কীভাবে তৈরি করা যায় (Python উদাহরণ):

import pandas as pd

# ডেটাসেট তৈরি করা
data = {'Date': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04'],
        'Price': [100, 102, 101, 105]}
df = pd.DataFrame(data)

# Lag ফিচার তৈরি করা
df['Lag_1'] = df['Price'].shift(1)
df['Lag_2'] = df['Price'].shift(2)

print(df)

আউটপুট:

         Date  Price  Lag_1  Lag_2
0  2023-01-01    100    NaN    NaN
1  2023-01-02    102  100.0    NaN
2  2023-01-03    101  102.0  100.0
3  2023-01-04    105  101.0  102.0

এখানে, Lag_1 হলো আগের দিনের দাম এবং Lag_2 হলো আগের দুই দিনের দাম।


2. Rolling Windows (রোলিং উইন্ডোজ)

Rolling Windows হলো একটি কৌশল যা আপনাকে ডেটার একটি চলমান উইন্ডো ব্যবহার করতে দেয়। এটি টাইম সিরিজ ডেটাতে একটি নির্দিষ্ট উইন্ডো (যেমন 3 দিন বা 7 দিন) ব্যবহার করে ডেটার উপর গাণিতিক অপারেশন সম্পাদন করে। এই উইন্ডোটি ডেটার উপর সরানো হয় এবং বিভিন্ন সময়ের জন্য গাণিতিক পরিসংখ্যান হিসাব করা হয়।

ফিচার তৈরির পদ্ধতি:

  • আপনি একটি চলমান উইন্ডো তৈরি করেন এবং প্রতি উইন্ডোতে গাণিতিক অপারেশন (যেমন, গড়, মোট, সর্বোচ্চ, সর্বনিম্ন ইত্যাদি) প্রয়োগ করেন।
  • এটি ডেটার ধ্রুবক পরিবর্তন বা মুভিং ট্রেন্ড দেখতে সহায়ক।

উদাহরণ:

ধরা যাক, আপনার কাছে একটি টাইম সিরিজ ডেটা রয়েছে এবং আপনি ৩ দিনের রোলিং গড় বের করতে চান:

Date          Price
2023-01-01    100
2023-01-02    102
2023-01-03    101
2023-01-04    105

এখানে আপনি ৩ দিনের রোলিং গড় তৈরি করতে পারেন:

  • 2023-01-03 তে রোলিং গড় হবে 100+102+1013=101\frac{100 + 102 + 101}{3} = 101
  • 2023-01-04 তে রোলিং গড় হবে 102+101+1053=102.67\frac{102 + 101 + 105}{3} = 102.67

কীভাবে তৈরি করা যায় (Python উদাহরণ):

import pandas as pd

# ডেটাসেট তৈরি করা
data = {'Date': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04'],
        'Price': [100, 102, 101, 105]}
df = pd.DataFrame(data)

# Rolling Windows (3 দিন)
df['Rolling_Mean'] = df['Price'].rolling(window=3).mean()

print(df)

আউটপুট:

         Date  Price  Rolling_Mean
0  2023-01-01    100           NaN
1  2023-01-02    102           NaN
2  2023-01-03    101     101.000000
3  2023-01-04    105     102.666667

এখানে, প্রথম দুটি সারি NaN (Not a Number) হবে কারণ ৩ দিনের উইন্ডোতে পর্যাপ্ত ডেটা নেই। পরবর্তী সারিতে ৩ দিনের গড় হিসাব করা হয়েছে।

ব্যবহার:

  • Stock Market Analysis: স্টক মার্কেটের মুভিং এভারেজ (MA) নির্ধারণে রোলিং উইন্ডো ব্যবহার করা হয়।
  • Weather Forecasting: আবহাওয়ার পূর্বাভাসের জন্য ৭ দিনের মুভিং গড় ব্যবহার করা।

Lag Features এবং Rolling Windows এর মধ্যে পার্থক্য

বৈশিষ্ট্যLag FeaturesRolling Windows
বিশ্লেষণপূর্ববর্তী দিনের বা সময়ের মান ব্যবহার করে।একটি চলমান উইন্ডো ব্যবহার করে সাম্প্রতিক মানের পরিসংখ্যান।
ফিচার তৈরিপূর্ববর্তী মান (Lag) ব্যবহার করে।চলমান উইন্ডোতে গাণিতিক অপারেশন প্রয়োগ করে।
ব্যবহারসময়সীমার পূর্বাভাসে এবং ডেটার ট্রেন্ডিং বা সময়ের সাপেক্ষে সম্পর্ক বুঝতে।ডেটার পরিবর্তনশীলতা বা ধ্রুবক মুভিং ট্রেন্ড বিশ্লেষণ করতে।
এছাড়াও ব্যবহৃতটাইম সিরিজ প্রেডিকশন বা স্টক প্রাইস প্রেডিকশন।চলমান গড়, মোট, সর্বোচ্চ/নিম্ন বের করার জন্য।

সারাংশ

  • Lag Features এবং Rolling Windows হলো দুটি গুরুত্বপূর্ণ কৌশল যা টাইম সিরিজ ডেটা বিশ্লেষণে ব্যবহৃত হয়।
  • Lag Features পূর্ববর্তী মান ব্যবহার করে ফিচার তৈরি করে, যা পূর্ববর্তী সময়ের প্রভাব বোঝাতে সাহায্য করে।
  • Rolling Windows একটি চলমান উইন্ডো ব্যবহার করে ডেটার উপর গাণিতিক পরিসংখ্যান প্রয়োগ করে, যা ডেটার ট্রেন্ড বা পরিবর্তনশীলতা বিশ্লেষণ করতে সহায়ক।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...